Unmanned aerial vehicle control method and unmanned aerial vehicle using same

ABSTRACT

A control method for an unmanned aerial vehicle (UAV) is provided. The method includes: obtaining, from a depth-sensing camera, images of a surface below the unmanned aerial vehicle; obtaining, from a gyroscope, current pitch angle of the unmanned aerial vehicle; determining, at the unmanned aerial vehicle, a current altitude of the unmanned aerial vehicle based on the images and the current pitch angle; determining, at the unmanned aerial vehicle, whether the current altitude of the unmanned aerial vehicle is less than a predefined value; and controlling, at the unmanned aerial vehicle, a drive unit to rotate so as to cause the unmanned aerial vehicle to slow down in a balanced condition if the current altitude of the unmanned aerial vehicle is less than a predefined value.

FIELD

The subject matter herein generally relates to an unmanned aerialvehicle control method and an unmanned aerial vehicle.

BACKGROUND

Unmanned aerial vehicles (UAVs) become more widely used, for example,for performing surveillance, reconnaissance, and exploration tasks formilitary and civilian applications. Generally, before an UAV iscontrolled to land at a target surface by a remoter. Sometimes, thetarget surface is not a desired surface suitable for landing, forexample, a bumpy and pitted road. Sometimes, the UAV may be crashed byan obstruction during a landing process due to unskilled operations.Therefore, there is a need for an UAV control method capable ofproviding a relatively smooth landing under a condition that where everthe UAV lands and whoever operates the UAV.

BRIEF DESCRIPTION OF THE DRAWINGS

Implementations of the present technology will now be described, by wayof example only, with reference to the attached figures.

FIG. 1 is a block diagram of an exemplary embodiment of an UAV.

FIG. 2 is a flowchart of an exemplary embodiment of an UAV controlmethod.

FIG. 3 is a diagrammatic view of an exemplary embodiment of an UAV witha gyroscope and a depth-sensing camera.

FIG. 4 is a diagrammatic view of an exemplary embodiment ofphotographing the surface below an UAV.

FIG. 5 is a diagrammatic view of an exemplary embodiment of determiningcurrent altitude of an UAV.

FIG. 6 is a diagrammatic view of another exemplary embodiment ofdetermining current altitude of an UAV.

FIG. 7 is an isometric view of an exemplary embodiment of a rotor rangeof an UAV.

FIG. 8 is a diagrammatic view of the bottom of an exemplary embodimentof a rotor range of an UAV.

FIG. 9 is an isometric view of an exemplary embodiment of anundercarriage range of an UAV.

FIG. 10 is a diagrammatic view of the bottom of an exemplary embodimentof an undercarriage range of an UAV.

FIG. 11 is a diagrammatic view of an exemplary embodiment of an UAVmoving away from an obstruction.

FIG. 12 is a diagrammatic view of an exemplary embodiment of an UAVmoving to a desirable surface.

FIG. 13 is a diagrammatic view of an exemplary embodiment of an UAVhovering at a bumpy surface.

DETAILED DESCRIPTION

It will be appreciated that for simplicity and clarity of illustration,where appropriate, reference numerals have been repeated among thedifferent figures to indicate corresponding or analogous elements. Inaddition, numerous specific details are set forth in order to provide athorough understanding of the embodiments described herein. However, itwill be understood by those of ordinary skill in the art that theembodiments described herein can be practiced without these specificdetails. In other instances, methods, procedures and components have notbeen described in detail so as not to obscure the related relevantfeature being described. Also, the description is not to be consideredas limiting the scope of the embodiments described herein. The drawingsare not necessarily to scale and the proportions of certain parts may beexaggerated to better illustrate details and features of the presentdisclosure.

A definition that applies throughout this disclosure will now bepresented.

The term “comprising,” when utilized, means “including, but notnecessarily limited to”; it specifically indicates open-ended inclusionor membership in the so-described combination, group, series and thelike.

FIG. 1 illustrates a diagram of an exemplary embodiment of an unmannedaerial vehicle (UAV) 1. In the exemplary embodiment, the UAV 1 caninclude, but not limited to, a depth-sensing camera 11, a gyroscope 12,at least one drive unit 13, at least one rotor 14, a storage device 15,and a processor 16. The storage device 15 can be configured to storedata related to operation of the UAV 1. The processor 16 can beconfigured to control operations of the UAV 1.

The depth-sensing camera 11 can be arranged at a bottom of the UAV 1 andconfigured to take images below the UAV 1 as illustrated in FIG. 3. Thedepth-sensing camera 11 can have a photographing range, for example, aphotographing range S1 as illustrated in FIG. 4. The photographing rangecan be a square or a rectangle with a predefined length and a predefinedwidth. In at least one embodiment, the photographing range can be anysuitable shape, for example, a circle centered at a projection of acenter of the UAV 1 at the surface. In at least one embodiment, thedepth-sensing camera 11 can be arranged at any suitable position of theUAV 1, for example, a side of the UAV 1. The image taken by thedepth-sensing camera 11 can include depth information based on which analtitude of the UAV can be obtained.

The gyroscope 12 can be configured to detect attitude data of the UAV,including pitch angles, angular velocity and orientation. In at leastone embodiment, the gyroscope 12 can be substituted by a currentlyavailable inertial measurement unit (IMU).

The least one drive unit 13 can be configured to drive the at least onerotor 14 to rotate to move the UAV 1. In the exemplary embodiment, thedrive unit 13 can be a motor.

The storage device 15 can be an internal storage unit of the UAV 1, forexample, a hard disk or memory, or a pluggable memory, for example,Smart Media Card, Secure Digital Card, Flash Card. In at least oneembodiment, the storage device 15 can include two or more storagedevices such that one storage device is an internal storage unit and theother storage device is a pluggable memory. The processor 16 can be acentral processing unit (CPU), a microprocessor, or other data processorchip that performs functions of the UAV 1.

An UAV control system 10 can include computerized instructions in theform of one or more programs that can be stored in the storage device 15and executed by the processor 16. In the embodiment, the UAV controlsystem 10 can be integrated in the processor 16. In at least oneembodiment, the UAV control system 10 can be independent from theprocessor 16. Referring to FIG. 1, the system 10 can include one or moremodules, for example, a detecting module 101, a photographing module102, a determining module 103, calculating module 104, and a controllingmodule 105. A “module,” as used herein, refers to logic embodied inhardware or firmware, or to a collection of software instructions,written in a programming language, such as, JAVA, C, or assembly. One ormore software instructions in the modules may be embedded in firmware,such as in an EPROM. The modules described herein may be implemented aseither software and/or hardware modules and may be stored in any type ofnon-transitory computer-readable medium or other storage device. Somenon-limiting examples of non-transitory computer-readable medium includeCDs, DVDs, BLU-RAY, flash memory, and hard disk drives.

The detecting module 101 can be configured to detect current attitudedata. In the exemplary embodiment, the attitude data can include angularvelocity, orientation, and pitch angles.

The photographing module 102 can be configured to control thedepth-sensing camera 11 to take images below the UAV 1.

The determining module 103 can be configured to determine whether acurrent altitude of the UAV is less than a predefined value, forexample, 10 m, 15 m, 20 m or any desirable values. The determiningmodule 103 further can be configured to determine whether a surfacedirectly below the UAV 1 is a desirable surface for landing based ondepth information of the images taken by the depth-sensing camera 11.The determining module 103 further can be configured to determinewhether a surface adjacent to the surface directly below the UAV 1 is adesirable surface for landing based on depth information of the imagestaken by the depth-sensing camera 11 when the surface directly below theUAV 1 is not suitable for landing.

The calculating module 104 can be configured to calculate drive databased on the attitude data.

The controlling module 105 can be configured to control the drive unit13 to rotate the rotors so as to move the UAV 1 to a desirable positionin a desirable way based on the drive data. For example, if the surfacedirectly below the UAV 1 is suitable for landing, the drive data cancontrol the drive unit to drive the rotors 14 to rotate so as to causethe UAV 1 to land slowly at the surface directly below the UAV 1. If thesurface directly below the UAV 1 is not suitable for landing, and thereis a desirable surface nearby suitable for landing, the drive data cancontrol the drive unit to drive the rotors 14 to rotate so as to causethe UAV 1 to move to an adjacent desirable surface suitable for landingas illustrated at FIGS. 11 and 12. If the surface directly below the UAV1 is not suitable for landing, and there is no desirable surface nearbysuitable for landing, the drive data can control the drive unit to drivethe rotors 14 to rotate so as to cause the UAV 1 to hover evenly at thesurface directly below the UAV 1 as illustrated at FIG. 13.

Referring to FIG. 2, a flowchart is presented in accordance with anexample embodiment of an UAV control system which is being thusillustrated. The example method 200 is provided by way of example, asthere are a variety of ways to carry out the method. The method 200described below can be carried out using the configurations illustratedin FIG. 1, for example, and various elements of the figure is referencedin explaining example method 200. Each block shown in FIG. 2 representsone or more processes, methods or subroutines, carried out in theexemplary method 200. Furthermore, the illustrated order of blocks is byexample only and the order of the blocks can change according to thepresent disclosure. Additional blocks may be added or fewer blocks maybe utilized, without departing from this disclosure. The exemplarymethod 200 can be executed by an UAV, and can begin at block 202. TheUAV can include a depth camera configured to take images of the surfacebelow the UAV, a gyroscope configured to detect current attitude data ofthe UAV, and a storage device configured to store related information.

At block 202, the UAV controls the depth-sensing camera to take imagesof the surface below the UAV and the gyroscope to detect current pitchangle of the UAV. The image taken by the depth-sensing camera caninclude depth information.

At block 204, the UAV determines current altitude based on the depthinformation of the images. In the exemplary embodiment, the UAV candetermine whether the surface is bumpy based on the depth information.For example, the image taken by the depth-sensing camera can be dividedinto a plurality of blocks, each block corresponding to a depth value.If a difference value between depth values of two adjacent blocksexceeds a predefined range, the surface can be determined as bumpy. Onthe other hand, if the difference value between depth values of twoadjacent blocks falls within a predefined range, the surface can bedetermined as even. If the surface is determined to be even, referringto FIG. 5, the current altitude H can be determined by a formula:H=H′*cos θ, wherein H′ represents a distance from the depth-sensingcamera to the surface along a central axis of the UAV, θ represents anangle between the central axis of the UAV and the line perpendicular tothe surface. If the surface is determined to be bumpy, referring to FIG.6, the current altitude H can be an average of at least two differentaltitudes of the bumpy surface, for example, H₁, H₂, . . . H_(n-1),H_(n).

At block 206, the UAV determines whether the current altitude is lessthan a predetermined value, for example, 10 m, 15 m, 20 m or othersuitable values.

At block 208, the UAV controls the drive unit to drive at least onerotor to rotate so as to have the UAV descended in a balanced and slowway. In detail, the UAV calculates drive data based on the pitched angleand current velocity and then controls the drive unit to drive the rotorto rotate based on the drive data. The balanced way can indicate thatthe unmanned aerial vehicle is substantially in a horizontal level wherethe pitch angle of the unmanned aerial vehicle is substantially equal tozero.

At block 210, the UAV controls the depth-sensing camera to take imagesof the surface under the UAV.

At block 212, the UAV determines whether the surface is suitable forlanding based on the images. In the exemplary embodiment, the UAV candetermine the surface directly below the UAV is suitable for landing.The surface directly below the UAV 1 can include a rotor range R1 and anundercarriage range R2. Referring to FIGS. 7 and 8, an exemplaryembodiment of a rotor range R1 of an UAV is illustrated. The UAV 1 caninclude four rotors, and the rotor range R1 can be a circle surroundingthe four rotors. The rotor range R1 can have a width W1. In theexemplary embodiment, W1 can be a diameter of the circle surrounding therotors. In the exemplary embodiment, the rotor range R1 cansubstantially cover a projection of the UAV 1 at the surface below theUAV 1. Referring to FIGS. 9 and 10, an exemplary embodiment of anundercarriage range R2 is illustrated. The UAV 1 can include anundercarriage 17 configured to support the UAV 1 when the UAV 1 is on asurface, for example, the ground. The undercarriage 17 can be in asubstantially rectangle shape, and the undercarriage range R2 can be acircle surrounding the undercarriage 17. The undercarriage range R2 canhave a maximum width W2. In the exemplary embodiment, W2 can be adiameter of the circle surrounding the undercarriage 17. Theundercarriage range R2 can substantially cover a projection of theundercarriage 17 on the surface below the UAV 1.

The UAV can determine based on depth information of the images. Similarto described above, the images can be divided into a plurality ofblocks, each block including corresponding a depth value. If differencevalues between depth values of two adjacent blocks are within apredefined value, the surface is determined to be even and be suitablefor landing. Otherwise, if difference values between depth values of twoadjacent blocks are beyond a predefined value, the surface is determinedto be bumpy and not be suitable for landing. If the surface is suitablefor landing, the process goes to block 214, otherwise, the process goesto block 216.

At block 214, the UAV controls the drive unit to drive the rotors torotate so as to slowly land the UAV at the surface.

At block 216, the UAV determines whether there is an adjacent suitablesurface is available. The UAV obtains depth information of the images ofsurfaces adjacent to the surface directly below the UAV 1, and thendetermines whether the adjacent surfaces are suitable for landing. Ifthere is an adjacent surface suitable for landing, the process goes toblock 218, otherwise, the process goes to block 220.

At block 218, the UAV 1 controls the drive unit to rotate the rotor toland the UAV at the adjacent suitable surface.

For example, referring to FIG. 11, there is an obstruction 110 with alength L within the rotor range R1. The length L can be greater than aheight of the undercarriage 17, for example, 10 cm, thus the obstruction110 may interference with the rotors 14 of the UAV 1. In thiscircumstance, the UAV 1 can control the drive unit to drive the rotor 14to rotate to move away from the obstruction 110 to an adjacent suitablesurface 112. In detail, the UAV 1 can determine a distance between thesurface 112 directly below the UAV 1 and the adjacent suitable surface113, calculate drive data based on current angular velocity and thedistance, and control the drive unit to drive the rotors 14 to rotatebased on the drive data. The distance between the surface 112 directlybelow the UAV 1 and the adjacent suitable surface 113 can be a distancebetween a center of the surface 112 directly below the UAV 1 and acenter of the adjacent suitable surface 113.

For example, referring to FIG. 12, there is a slope 120 within theundercarriage range R2. If the UAV 1 lands above the slope 120, the UAV1 may roll over. In this circumstance, the UAV 1 can control the driveunit to drive the rotors 14 to rotate to move the UAV 1 away from theslop 120 to an adjacent suitable surface 123. In detail, the UAV 1 candetermine a distance between the surface 122 directly below the UAV 1and the adjacent suitable surface 123, calculate drive data based oncurrent angular velocity and the distance, and control the drive unit todrive the rotors 14 to rotate based on the drive data. The distancebetween the surface 122 directly below the UAV 1 and the adjacentsuitable surface 123 can be a distance between a center of the surface122 directly below the UAV 1 and a center of the adjacent suitablesurface 123.

At block 220, the UAV 1 controls the drive unit to drive the rotors torotate to hover at the surface. For example, referring to FIG. 13, thesurface 130 directly below the UAV 1 is bumpy and there is no suitabledesirable surface available, the UAV 1 can control the drive unit torotate the rotors so as to hover evenly at the surface 130.

The embodiments shown and described above are only examples. Even thoughnumerous characteristics and advantages of the present technology havebeen set forth in the foregoing description, together with details ofthe structure and function of the present disclosure, the disclosure isillustrative only, and changes may be made in the detail, including inmatters of shape, size and arrangement of the parts within theprinciples of the present disclosure up to, and including, the fullextent established by the broad general meaning of the terms used in theclaims.

What is claimed is:
 1. An unmanned aerial vehicle, comprising: a storagedevice configured to store constructions; and a processor configured toexecute instructions to cause the processor to: capture images of asurface below the unmanned aerial vehicle from a depth-sensing cameraand current pitch angle from a gyroscope; determine a current altitudeof the unmanned aerial vehicle based on depth information of the images;determine whether the current altitude of the unmanned aerial vehicle isless than a predefined value; and control a drive unit to rotate tobalance and slow down the unmanned aerial vehicle if the currentaltitude is less than the predefined value.
 2. The unmanned aerialvehicle according to claim 1, wherein the instructions further causesthe processor to: determine whether the surface directly below theunmanned aerial vehicle is suitable for landing; determine whether thereis an adjacent suitable surface for landing if the surface directlybelow the unmanned aerial vehicle is not suitable for landing; andcontrol the drive unit to rotate to cause the unmanned aerial vehicle toland at an adjacent suitable surface if there is an adjacent suitablesurface is available.
 3. The unmanned aerial vehicle according to claim2, wherein the instructions further cause the processor to: control thedrive unit to rotate to cause the unmanned aerial vehicle to hoverevenly at the surface below the unmanned aerial vehicle if there is noadjacent suitable surface is available.
 4. The unmanned aerial vehicleaccording to claim 2, wherein the instructions further causes theprocessor to: calculate drive data based on current angular velocity,pitch angle and a distance between the surface directly below theunmanned aerial vehicle and the adjacent suitable surface; and controlthe drive unit to rotate based on the drive data.
 5. The unmanned aerialvehicle according to claim 2, wherein the instructions further causesthe processor to: control the drive unit to rotate to cause the unmannedaerial vehicle to land evenly and slowly at the surface directly belowthe unmanned aerial vehicle if the surface directly below the unmannedaerial vehicle is suitable for landing.
 6. The unmanned aerial vehicleaccording to claim 1, wherein the image is divided into a plurality ofblocks, each block having a depth value, and the surface is determinedto be suitable for landing if depth values of two adjacent blocks arewithin a predefined range.
 7. The unmanned aerial vehicle according toclaim 1, wherein the current altitude is an average of at least twoaltitude values of the unmanned aerial vehicle relative to the surfaces.8. The unmanned aerial vehicle according to claim 1, wherein theinstructions further causes the processor to: calculate drive data basedon current angular velocity and pitch angle; and control the drive unitto rotate based on the drive data.
 9. A method for controlling anunmanned aerial vehicle comprising: obtaining, from a depth-sensingcamera, images of a surface below the unmanned aerial vehicle;obtaining, from a gyroscope, current pitch angle of the unmanned aerialvehicle; determining, at the unmanned aerial vehicle, a current altitudeof the unmanned aerial vehicle based on depth information of the imagesand the current pitch angle; determining, at the unmanned aerialvehicle, whether the current altitude of the unmanned aerial vehicle isless than a predefined value; and controlling, at the unmanned aerialvehicle, a drive unit to rotate so as to cause the unmanned aerialvehicle to slow down in a balanced condition if the current altitude ofthe unmanned aerial vehicle is less than a predefined value.
 10. Themethod according to claim 9, further comprising: obtaining, from thedepth-sensing camera, images of the surface below the unmanned aerialvehicle from the depth-sensing camera; determining, at the unmannedaerial vehicle, whether the surface directly below the unmanned aerialvehicle is suitable for landing based on depth information of theimages; determining, at the unmanned aerial vehicle, whether there is anadjacent suitable surface for landing based on depth information of theimages if the surface directly below the unmanned aerial vehicle is notsuitable for landing; and controlling, at the unmanned aerial vehicle,the drive unit to rotate to cause the unmanned aerial vehicle to land atan adjacent suitable surface if there is an adjacent suitable surface isavailable.
 11. The method according to claim 10, further comprising:controlling the drive unit to rotate to cause the unmanned aerialvehicle to hover evenly at the surface below the unmanned aerial vehicleif there is no adjacent suitable surface is available.
 12. The methodaccording to claim 10, further comprising: calculating, at the unmannedaerial vehicle, drive data based on current angular velocity, pitchangle and a distance between the surface directly below the unmannedaerial vehicle and the adjacent suitable surface; and controlling, atthe unmanned aerial vehicle, the drive unit to rotate based on the drivedata.
 13. The method according to claim 10, further comprising:controlling, at the unmanned aerial vehicle, the drive unit to rotate tocause the unmanned aerial vehicle to land evenly and slowly at thesurface directly below the unmanned aerial vehicle if the surfacedirectly below the unmanned aerial vehicle is suitable for landing. 14.The method according to claim 9, wherein the image is divided into aplurality of blocks, each block having a depth value, and the surface isdetermined to be suitable for landing if depth values of two adjacentblocks are within a predefined range.
 15. The method according to claim9, wherein the current altitude is an average of at least two altitudevalues of the unmanned aerial vehicle relative to the surfaces.
 16. Themethod according to claim 9, further comprising: calculating, at theunmanned aerial vehicle, drive data based on current angular velocityand pitch angle; and controlling, at the unmanned aerial vehicle, thedrive unit to rotate based on the drive data.
 17. A computer readablemedium storing computer readable instructions, the instructions causinga processor to: obtain images of the surface below an unmanned aerialvehicle from a depth-sensing camera and current pitch angle from agyroscope; determine a current altitude of the unmanned aerial vehiclebased on depth information of the images; determine whether the currentaltitude of the unmanned aerial vehicle is less than a predefined value;control a drive unit to rotate to cause the unmanned aerial vehicle toslow down in a balanced condition if the current altitude is less thanthe predefined value.
 18. The medium according to claim 17, wherein theinstructions further cause the processor to: obtain images of thesurface below the unmanned aerial vehicle from the depth-sensing camera;determine whether the surface directly below the unmanned aerial vehicleis suitable for landing based on depth information of the images;determine whether there is an adjacent suitable surface for landingbased on depth information of the images if the surface directly belowthe unmanned aerial vehicle is not suitable for landing; control thedrive unit to rotate to cause the unmanned aerial vehicle to land at anadjacent suitable surface if there is an adjacent suitable surface isavailable; and control the drive unit to rotate to cause the unmannedaerial vehicle to hover evenly at the surface below the unmanned aerialvehicle if there is no adjacent suitable surface is available.